package org.kabeja.dxf.objects;

import org.kabeja.dxf.DXFConstants;
import org.kabeja.dxf.entity.Bounds;
import org.kabeja.dxf.helpers.Point;

/**
 * @author shutao
 * @since 2022/4/24 16:50
 */
public class DXFPlotSettings extends DXFObject {
    protected String name = "";
    protected String configName = "";
    protected String canonicalMediaName = "";
    protected String plotViewName = "";
    protected String currentStylesheet = "";
    protected double[] margin = new double[4];
    protected Point plotOrigin = new Point();
    protected double paperWidth;
    protected double paperHeight;
    protected int paperUnits = 0;
    protected int flags = 0;
    protected int plotType = 0;
    protected int plotRotation = 0;
    protected Bounds windowToPlot = new Bounds();
    protected double customScaleNumerator = 1.0D;
    protected double customScaleDenominator = 1.0D;

    public DXFPlotSettings() {
    }

    @Override
    public String getObjectType() {
        return DXFConstants.OBJECT_TYPE_PLOTSETTINGS;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String var1) {
        this.name = var1;
    }

    public String getConfigName() {
        return this.configName;
    }

    public void setConfigName(String var1) {
        this.configName = var1;
    }

    public String getCanonicalMediaName() {
        return this.canonicalMediaName;
    }

    public void setCanonicalMediaName(String var1) {
        this.canonicalMediaName = var1;
    }

    public String getPlotViewName() {
        return this.plotViewName;
    }

    public void setPlotViewName(String var1) {
        this.plotViewName = var1;
    }

    public String getCurrentStylesheet() {
        return this.currentStylesheet;
    }

    public void setCurrentStylesheet(String var1) {
        this.currentStylesheet = var1;
    }

    public double[] getMargin() {
        return this.margin;
    }

    public void setMargin(double[] var1) {
        this.margin = var1;
    }

    public Point getPlotOrigin() {
        return this.plotOrigin;
    }

    public void setPlotOrigin(Point var1) {
        this.plotOrigin = var1;
    }

    public double getPaperWidth() {
        return this.paperWidth;
    }

    public void setPaperWidth(double var1) {
        this.paperWidth = var1;
    }

    public double getPaperHeight() {
        return this.paperHeight;
    }

    public void setPaperHeight(double var1) {
        this.paperHeight = var1;
    }

    public int getPaperUnit() {
        return this.paperUnits;
    }

    public void setPaperUnit(int var1) {
        this.paperUnits = var1;
    }

    public int getFlags() {
        return this.flags;
    }

    public void setFlags(int var1) {
        this.flags = var1;
    }

    public int getPlotType() {
        return this.plotType;
    }

    public void setPlotType(int var1) {
        this.plotType = var1;
    }

    public int getPlotRotation() {
        return this.plotRotation;
    }

    public void setPlotRotation(int var1) {
        this.plotRotation = var1;
    }

    public Bounds getWindowToPlot() {
        return this.windowToPlot;
    }

    public void setWindowToPlot(Bounds var1) {
        this.windowToPlot = var1;
    }

    public double getCustomScaleNumerator() {
        return this.customScaleNumerator;
    }

    public void setCustomScaleNumerator(double var1) {
        this.customScaleNumerator = var1;
    }

    public double getCustomScaleDenominator() {
        return this.customScaleDenominator;
    }

    public void setCustomScaleDenominator(double var1) {
        this.customScaleDenominator = var1;
    }

    public double getCustomScale() {
        return this.customScaleNumerator / this.customScaleDenominator;
    }
}
